Using Operating System Instrumentation and Event Logging to Support User-level Multiprocessor Schedulers
نویسندگان
چکیده
This work presents a novel approach to support multiprocessor scheduling at userlevel. We propose to use system instrumentation and event logging to obtain runtime information relevant for scheduling, from different system sources such as the hardware, operating system components, or application programs. We instrument the system components with event log handlers that record scheduling data in designated log files held in memory. The user-level scheduler can analyze and evaluate these log files to base its processor allocation policies on. Our approach allows for flexible, efficient, and scalable accumulation of scheduler-relevant run-time characteristics; it was designed to be applicable both to user-level components, and to the safety-critical operating system kernel. To demonstrate our approach, we have developed a prototype logging infrastructure within a real-world, microkernel-based, component operating system. We successfully extract several run-time scheduling characteristics from different components, including timing properties and communication patterns from the microkernel, and shared-memory usage from a user-level device driver subsystem. Measurements indicate an undramatic overhead for logging, with baseline logging costs between about 26 and 275 clock cycles on an Intel 2.2 GHz Xeon Processor, and application-level overhead on driver throughput of about 3.8 percent for logging kernel-based communication, and about 10.5 percent for logging shared memory usage.
منابع مشابه
Logging Kernel Events on Clusters
We present tools for recording and analysing kernel events on Linux clusters. The tools provide cluster-wide event logging at system clock accuracy. We demonstrate the usefulness of our tools by verifying an implementation of a simple remote scheduling feature with interesting results regarding schedule responsiveness, by analysing local clock drift in a cluster, and by observing the effect of ...
متن کاملSysRT: A Modular Multiprocessor RTOS Simulator for Early Design Space Exploration
Modern embedded systems increasingly accommodate several applications running concurrently on a multiprocessor platform managed by a real-time operating system (RTOS). The increasing design complexity of such systems calls for good design tools to evaluate real-time performance during the very early stages of design. To this end, fast system-level simulators that allow for efficient hardware/so...
متن کاملDeveloping Monitoring and Debugging Tools for the Ap1000 Array Multiprocessor
The LERP project aims to assist the ap1000 programmer with essential monitoring and debugging tools. LERP is based on oo-line analysis and replay of an event trace. A common event trace format includes both low level system events and user-deened events. In this paper we address the issues of instrumentation of ap1000 programs with minimal interference, and presentation of traced program behavi...
متن کاملExperimentation with Configurable, Lightweight Threads on a KSR Multiprocessor
The implementation of operating system functions can significantly affect the performance of parallel programs. In this paper, we describe our experience with a reconfigurable, multiprocessor threads package on a 32-node KSR1 supercomputer. We discuss static and dynamic configurations that address the on-line reconfiguration of threads schedulers and synchronization constructs. Experimental res...
متن کاملCHIMERA II : a real-time UNIX-compatible multiprocessor operating system for sensor-based control applications
This paper describes the CHIMERA II multiprocessing operating system, which has been developed to provide the flexibility, performance, and UNIX-compatible interface needed for fast development and implementation of parallel real-time control code. The operating system is intended for sensorbased control applications such as robotics, process control, and manufacturing. The features of CHIMERA ...
متن کامل